﻿using System;
using System.Runtime.Serialization;
using System.Xml.Serialization;
using Grundy.Message.Administration;
using Grundy.Message.Client;
using Grundy.Message.Licensing;

namespace Grundy.Message
{
    
    [XmlInclude(typeof(AdministrationRequest))]
    [XmlInclude(typeof(ClientRequest))]
    [XmlInclude(typeof(LicenseRequest))]
    [XmlInclude(typeof(ServerCommandRequest))]
    [XmlInclude(typeof(GetInstalledLicensesRequest))]
    [XmlInclude(typeof(CheckinRequest))]
    [XmlInclude(typeof(CheckoutRequest))]
    [XmlInclude(typeof(ReassertRequest))]
    [DataContract]
    [KnownType(typeof(AdministrationRequest))]
    [KnownType(typeof(ClientRequest))]
    [KnownType(typeof(LicenseRequest))]
    [KnownType(typeof(ServerCommandRequest))]
    [KnownType(typeof(GetInstalledLicensesRequest))]
    [KnownType(typeof(CheckinRequest))]
    [KnownType(typeof(CheckoutRequest))]
    [KnownType(typeof(ReassertRequest))]
    public class Request
    {
        [DataMember]
        public string Challenge { get; set; }
    }
}